﻿using YookingBizWQW.Class.Demo;
using YookingBizWQW.Class.Admin;
using YookingBizWQW.Class.HomeVx;
using YookingBizWQW.Class.Public;
using YookingBizWQW.Class.UsrLogin;
using YookingBizWQW.Class.Credit.mp;
using YookingBizWQW.Class.Credit.pc;
using YookingBizWQW.Class.Credit.pub;
using YookingBizWQW.Class.WeiXin;
using YookingBizWQW.Class.AliPay;
using System.Threading.Tasks;
using YookingBizWQW.Class.Fuiou;
using YookingBizWQW.Class.ProberDev;
using YookingBizWQW.Class.WxMini;

namespace YookingBizWQW
{
    public class clsMain
    {
        //注释：王庆文 2019年12月16日=========================================================================
        /// <summary>
        /// 根据RequestID，分别执行不同的数据读取任务，得到相应条件的信息记录集合
        /// </summary>
        /// <param name="strRequestID">客户端请求ID</param>
        /// <param name="strRequestData">客户端请求参数集合</param>
        /// <param name="strRequestIP">发出请求的客户端IP地址</param>
        /// <returns>返回数据读取、分析、处理结果</returns>
        public string ReadDataFromServer(string strRequestID, string strRequestData, string strRequestIP)
        {
            string strResult = "no data"; //数据读取、分析、处理结果
     
            clsSFZ mySFZ = new clsSFZ();
            clsTest myTest = new clsTest();
            clsWxCall myWX = new clsWxCall();
            clsFyPay myFuiou = new clsFyPay();
            clsAliPay myAli = new clsAliPay();
            clsHomeV1 myHomeV1 = new clsHomeV1();
            clsComonFun myKit = new clsComonFun();
            clsDBDefine myDef = new clsDBDefine();
            clsUserInfo myUser = new clsUserInfo();
            clsCrMyData myCrMy = new clsCrMyData();
            clsCrHmData myCrHm = new clsCrHmData();
            clsYkKeyData myCrpt = new clsYkKeyData();
            clsHandleData myRad = new clsHandleData();
            clsTreeDefine myTree = new clsTreeDefine();
            clsCrCardData myCrCard = new clsCrCardData();
            clsInterfaceFF myFengF = new clsInterfaceFF();
            clsInterfaceXzd myXinZD = new clsInterfaceXzd();
            clsAccountMgr myCrPCAccMgr = new clsAccountMgr();

            #region 第一阶段开发设计的业务处理逻辑

            if (strRequestID.ToUpper() == "WangQingwen20191216151101".ToUpper())
            {
                strResult = myTest.GetFoodType(strRequestData); //得到菜品类别信息
            }
            else if (strRequestID.ToUpper() == "WangaQingbwenc20191226081901".ToUpper())
            {
                //向YOOKING短信发送库中写入待发送的短信内容
                strResult = myUser.SendSmsVeriftCode(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangaQingbwenc20191217095801".ToUpper())
            {
                //根据登录用户名和密码，查询登录用户的全部个人信息，并记录访问日志。同步调用异步函数的方法。
                strResult = myUser.GetSaPersonInfo(strRequestData, strRequestIP).GetAwaiter().GetResult();
            }
            else if (strRequestID.ToUpper() == "WangaQingbwenc20200726214701".ToUpper())
            {
                //手机端用户扫码之后，会把二维码中扫描到的RequestID、以及用户名和密码三个信息一起写入到后台服务器中。
                //PC端函数不断的向服务器查询是否存在该RequestID的用户登录信息，如果存在，则连同用户名和密码一起读取过去。
                //然后根据刚刚读取到的用户名、密码数据，自动进行数据认证及系统登录操作。
                strResult = myUser.GetQRCcodeLoginInfo(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangaQingbwenc20200727095201".ToUpper())
            {
                //update本次登录二维码的读取状态，防止反复调用登录公共方法
                strResult = myUser.UpdateQRCodeScanStatus(strRequestData);
            }
			else if (strRequestID.ToUpper() == "WangaQingbwenc20210405162101".ToUpper())
            {
                //用户登录系统的时候如果输入的用户名是手机号码、
                //或者身份证号码、或者短文号码，则根据这个号码找出该人的PersonID值。
                strResult = myUser.ConvertNumberToPersonID(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20210731110201".ToUpper())
            {
                //获取指定APP、H5、小程序的短文接入授权信息
                strResult = myUser.Get_AppInterface(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20200311235201".ToUpper())
            {
                //根据用户名，查找并读取对应的登录密码数据
                strResult = myUser.GetUserPassword(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20200311213501".ToUpper())
            {
                //获取指定人员、在特定单位里的的StaffID等信息
                strResult = myUser.GetSaOrgStaffInfo(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20191220204501".ToUpper())
            {
                //获取职员隶属的单位组织信息，包括单位、部门、派出所、社区、居委会、服务所、服务站。
                //同时得到该职员对应的角色授权信息，包括角色ID、父角色ID、角色名称、角色自定义系统名等
                strResult = myUser.GetSaOrgStaff_SaRuleRole(strRequestData); 
            }
            else if (strRequestID.ToUpper() == "WangQingwen20191220223601".ToUpper())
            {
                //得到指定角色ID对应的全部业务节点信息，
                //包括父节点ID、本节点ID、业务树名称、对应页面URL等信息。
                //适合于2021年07月之前的全部Yooking菜单架构，不兼容新版的vue架构
                strResult = myUser.GetSaRuleRoleAccredit_Html(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20210714103301".ToUpper())
            {
                //得到指定角色ID对应的全部业务节点信息，
                //包括父节点ID、本节点ID、业务树名称、对应页面URL等信息。
                //适合于2021年07月之后的新版VUE架构，不兼容老版的html架构。
                strResult = myUser.GetSaRuleRoleAccredit_Vue(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20191220224601".ToUpper())
            {
                //根据客户端传过来的单位编码，获取该单位的详细信息，并记录访问日志。同步调用异步函数的方法。
                strResult = myUser.GetSaOrgUnitInfo(strRequestData, strRequestIP).GetAwaiter().GetResult();
            }
            else if (strRequestID.ToUpper() == "WangQingwen20191221150601".ToUpper())
            {
                //直接从服务器端读取“民族”字典数据
                strResult = mySFZ.GetMZDictionary(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20191221220901".ToUpper())
            {
                //模糊查询符合条件的身份证数据信息
                strResult = mySFZ.GetSFZInfo(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20191221225801".ToUpper())
            {
                //查询指定身份证号码的照片图像信息
                strResult = mySFZ.GetSFZPhoto(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20191228203201".ToUpper())
            {
                //统计当前系统的商户分析数据、
                //部门店铺分析数据、用户人数分析数据、活跃用户分析数据
                strResult = myHomeV1.GetOlapCountInfo(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20191228205701".ToUpper())
            {
                //统计分析近期活跃用户的系统登录情况，包括时间、用户、IP等
                strResult = myHomeV1.GetUserLoginLog(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20191228234101".ToUpper())
            {
                //调用淘宝的免费IP地址解析转换接口，
                //得到IP所属国家、地区、城市、行政区划代码等信息
                strResult = myHomeV1.GetIPJsonAttr(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20200122175601".ToUpper())
            {
                //获取数据库表本身的说明及定义信息
                strResult = myDef.Get_DBTableDefine(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20200205224201".ToUpper())
            {
                //获取指定TableID的库表的全部自定义列信息
                strResult = myDef.Get_DBFieldDefine(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20200209230801".ToUpper())
            {
                //获取YOOKING系统定义的全部菜单业务树数据
                strResult = myTree.Get_MnuTreeDefine_Html(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20210720090101".ToUpper())
            {
                //获取YOOKING系统定义的全部VUE类型的菜单业务树数据
                strResult = myTree.Get_MnuTreeDefine_Vue(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20200212220301".ToUpper())
            {
                //从后台读取并显示当前节点对应的列表图标Url、桌面图标Url、手机图标Url图标数据
                strResult = myTree.GetTreeNodeUrlIcon(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20200310232601".ToUpper())
            {
                //查询照片图像库，获取指定库表的照片图像信息
                strResult = myKit.GetPhotoFromDB(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20200316144001".ToUpper())
            {
                //查询照片图像库，获取指定库表的照片图像信息
                strResult = myKit.GetDBTableImageFromDB(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20200314113501".ToUpper())
            {
                //将明文字符串加密之后，返回给客户端
                strResult = myKit.GetEncryptString(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20200312092801".ToUpper())
            {
                //根据手机端传过来的操作平台名称、
                //APP版本日期，得到最新版本的url全地址链接信息
                clsAppUpdate myPack = new clsAppUpdate();
                strResult = myPack.GetNewVersionURL(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20200320092701".ToUpper())
            {
                //自定义库表名称、自定义查询条件，到数据库中查找符合条件的数据记录
                strResult = myKit.GetDBTableDataForCondition(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20200320095101".ToUpper())
            {
                //按照三级联动的格式获取行政区划字典数据，适合APP端先选省份、再选城市、再选区县的操作
                strResult = myKit.GetXZQHDictSelecter_ThreeLevel(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20200325213301".ToUpper())
            {
                //执行客户端提交过来的SQL语句，查询符合条件的记录信息
                strResult = myRad.SQL_ReadData(strRequestData);
            }

            #endregion

            #region 阿里接口API处理逻辑

            else if (strRequestID.ToUpper() == "WangQingwen20200425221801".ToUpper())
            {
                //根据APP端的充值付款操作情况，由服务器端统一生成支付宝接口要求的参数，
                //注意：一定要严格按照支付宝新版本接口文档要求来处理         
                strResult = myAli.GetAliPayParams(strRequestData);
            }

            #endregion

            #region 微信接口API处理逻辑

            else if (strRequestID.ToUpper() == "WangQingwen20200423191801".ToUpper())
            {
                //为微信JSAPI调用准备AppID、
                //时间戳、随机字符串、微信签名等数据json    
                strResult = myWX.GetWxConfigInfo(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20200423193601".ToUpper())
            {
                //先将APP用户的订单信息提交给微信，
                //由微信服务器统一生成该笔订单APP端支付需要的json参数集合           
                strResult = myWX.GetOrderWeixinData(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20200423194801".ToUpper())
            {
                //微信支付订单的查询操作，商户可以通过该接口主动
                //查询订单状态，然后根据实际情况完成下一步的业务逻辑          
                strResult = myWX.GetWxOrderPayInfo(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20220412091201".ToUpper())
            {
                //根据微信小程序端提供的code值，
                //向微信服务器请求获取用户的openid、session_key、unionid等数据        
                strResult = myWX.GetWxMiniUserAuthInfo(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20220412164901".ToUpper())
            {
                //根据微信小程序端wx.login反馈回来的code值，
                //在后台服务器端获取phone_info等包含手机号码的JSON数据         
                strResult = myWX.GetWxMiniUserPhoneNumber(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20220826210201".ToUpper())
            {
                //根据微信公众号H5端提供的code值，向微信服务器请求获取用户的openid、unionid、昵称、头像等数据
                //应答结果实例：{"openid":"xxxx","unionid":xxxx,
                //"nickname":"xxxx","headimgurl":"xxxx""errcode":"xxxx","errmsg":"xxxx"}      
                strResult = myWX.GetWxPubUserAuthInfo(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20220801152801".ToUpper())
            {
                //获取微信小程序二维码   
                strResult = myWX.GetAppletQRCode(strRequestData);
            }

            #endregion

            #region 信用卡还款系统业务处理逻辑

            else if (strRequestID.ToUpper() == "WangQingwen20200312153901".ToUpper())
            {
                //查询指定平台服务商中，指定ID的会员基本信息
                strResult = myCrMy.GetMemberInfo(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20200314101801".ToUpper())
            {
                //检查指定平台服务商中，指定手机号码的会员是否已经存在
                strResult = myCrMy.CheckMemberIsExist(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20200312162701".ToUpper())
            {
                //查询指定ID或者编码的个人详细信息
                strResult = myCrMy.GetPersonInfo(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20200314141901".ToUpper())
            {
                //获取指定信用卡平台，当前邀请码的最大值。（新注册的用户邀请码 = 最大值 + 1）
                strResult = myCrMy.GetMaxInviteCode(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20200312225401".ToUpper())
            {
                //查询订单交易费率字典数据
                strResult = myCrMy.GetTradeFeeRate(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20200312225601".ToUpper())
            {
                //查询会员级别字典数据
                strResult = myCrMy.GetMemberLevel(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20200413172401".ToUpper())
            {
                //查询会员升级奖励方案字典数据
                strResult = myCrMy.GetMemberUpdReward(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20200312225801".ToUpper())
            {
                //查询会员佣金分配方案字典数据
                strResult = myCrMy.GetMemberBkgePlan(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20200314160801".ToUpper())
            {
                //查找并显示银行代码字典信息
                strResult = myCrCard.GetBankCodeInfo(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20200314205401".ToUpper())
            {
                //根据指定的条件查询会员本人的银行卡信息
                strResult = myCrCard.GetBankCardInfo(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20200314224301".ToUpper())
            {
                //调用阿里支付宝的接口，根据银行卡号，查找银行代码字典信息
                strResult = myCrCard.GetBankInfo_FromAli(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20200315183501".ToUpper())
            {
                //查询会员佣金所得总额度
                strResult = myCrMy.GetMemberBkgeSumAmount(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20200315201801".ToUpper())
            {
                //查询会员佣金提现计划信息
                strResult = myCrMy.GetMbrCashoutPlan(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20200318142501".ToUpper())
            {
                //统计分析当前登录用户的佣金总额、已支取佣金、当前账户余额等信息
                strResult = myCrHm.OlapMemberBkgeAmount(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20200318151101".ToUpper())
            {
                //统计分析当前登录用户的一、二级代理人数、上月佣金总额、本月佣金总额
                strResult = myCrHm.OlapMemberAgentAndBrokerage(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20200318162801".ToUpper())
            {
                //图形图表，分析当前用户本年度收入趋势，从01月 ... 12月
                strResult = myCrHm.OlapMemberIncome(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20200318163101".ToUpper())
            {
                //图形图表，分析当前用户一级代理、二级代理人数情况
                strResult = myCrHm.OlapMemberAgentCount(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20200318191201".ToUpper())
            {
                //查询信用卡还款平台发布的文章资讯信息，每次只查询N条
                strResult = myCrHm.GetArticleInfo(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20200531102201".ToUpper())
            {
                //查询信用卡还款平台发布的某一文章资讯的详细信息
                strResult = myCrHm.GetArticleDetail(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20200318235701".ToUpper())
            {
                //统计指定会员累计信用卡还款总额
                strResult = myCrCard.LoadAllRepayAmount(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20200318235801".ToUpper())
            {
                //获取当前用户名下的全部信用卡记录、及其最后一条还款记录的信息
                strResult = myCrCard.LoadCreditCardInfo(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20200319093601".ToUpper())
            {
                //加载并显示指定卡号的信用的最后一次还款计划信息
                strResult = myCrCard.LoadLastRepayPlanInfo(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20200319155801".ToUpper())
            {
                //查询还款计划数据库，获取主表XYK_RepayPlan和子表XYK_TradeOrder的刷卡及还款记录
                strResult = myCrCard.GetOlapRepayPlanResult(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20200319202601".ToUpper())
            {
                //根据还款计划ID，查询子表XYK_TradeOrder，获取刷卡、还款的详细消费记录清单
                strResult = myCrCard.LoadRepayTradeOrderList(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20200319231201".ToUpper())
            {
                //根据自定义的条件，查询符合条件的还款计划信息
                strResult = myCrCard.LoadReplayPlanInfo(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20200320175501".ToUpper())
            {
                //统计分析不同级别的会员数据，包括会员数量、佣金额度等信息
                strResult = myCrMy.Olap_MemberBrokerage_Data(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20200420102801".ToUpper())
            {
                //统计分析不同级别的会员当月的数据，包括当月会员数量、当月佣金额度等信息
                strResult = myCrMy.Olap_MemberBrokerage_Month(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20200419154701".ToUpper())
            {
                //按月度解析每个月至少有一次用卡记录的会员人数情况，并显示在eChart折线图上
                strResult = myCrMy.Olap_MemberActiveCount_Data(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20200320190301".ToUpper())
            {
                //统计分析不同级别的每一名会员的详细数据，
                //包括姓名、手机号、是否绑卡、充值情况、还款情况等信息
                strResult = myCrMy.Get_MemberRepay_Detail(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20200327012901".ToUpper())
            {
                //调用银行接口，获取银行卡激活所需的短信验证码
                strResult = myFengF.sendSms2OpenToken(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20200329235601".ToUpper())
            {
                //持卡人在手机APP端输入短信验证码之后，
                //YOOKING将该验证码提交给接口进行检查和确认，通过则绑卡成功
                strResult = myFengF.checkSms2OpenToken(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20200409124001".ToUpper())
            {
                //得到RSA公钥、私钥的具体内容
                strResult = myCrpt.GetRSAKey(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20200409124002".ToUpper())
            {
                //得到DES密码、初始向量的具体内容
                strResult = myCrpt.GetDESKey(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20201231094401".ToUpper())
            {
                //得到DES密码、初始向量的具体内容，变量名字采用难猜的字符串随便起名
                strResult = myCrpt.GetDESKey_Temp(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20210522231201".ToUpper())
            {
                //得到AES密码的具体内容，变量名字采用难猜的字符串随便起名
                strResult = myCrpt.GetAESKey_Temp(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20210526171701".ToUpper())
            {
                //得到WQW密码、验证码的具体内容，变量名字采用难猜的字符串随便起名
                strResult = myCrpt.GetWQWKey_Temp(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20200427191301".ToUpper())
            {
                //检查指定身份证号码的人员在YOOKING数据库中是否已经存在
                strResult = myCrMy.CheckIDCardNumberIsExist(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20200507171401".ToUpper())
            {
                //银行卡实名认证 -- 银行卡三要素核查（详情版）
                //调用阿里云API，检查银行卡号、身份证号、持卡人姓名三者是否一致
                strResult = myCrCard.GetBank3CheckInfo(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20200513155901".ToUpper())
            {
                //判断用户的同一张信用卡是否已经存在计划交易时间冲突的还款计划。
                strResult = myCrCard.CheckHistoryRepayPlan(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20200531092901".ToUpper())
            {
                //查询已经审核通过的会员佣金提现计划信息、提现交易订单信息
                strResult = myCrPCAccMgr.GetMemberCashoutInfo(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20200612221701".ToUpper())
            {
                //查询持卡人指定卡号的信用卡账户余额
                strResult = myFengF.QueryUserBanlance(strRequestData);
            }

            #endregion

            #region 信之队信用卡API后台处理程序

            else if (strRequestID.ToUpper() == "WangQingwen20201208180801".ToUpper())
            {
                //调用信之队的信用卡API会员注册接口，获取到会员编码（商户号）
                strResult = myXinZD.CommitXzdRegister(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20201212180301".ToUpper())
            {
                //由支付接口向持卡人的手机发送一条验证码短信，申请绑定信用卡
                strResult = myXinZD.sendSms2BindPrepare(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20201212180302".ToUpper())
            {
                //持卡人在手机APP端输入短信验证码之后，YOOKING将该验证码提交给接口进行检查和确认，通过则绑卡成功
                strResult = myXinZD.checkSms2BindConfirm(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20201212180303".ToUpper())
            {              
                //查询指定卡号的银行卡是否已经开通并绑卡，避免重复发送绑卡短信
                strResult = myXinZD.queryBindStatus(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20201212180304".ToUpper())
            {
                //解除指定卡号的信用卡的签约绑定状态，信用卡解绑
                strResult = myXinZD.unBindBankCard(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20201212180305".ToUpper())
            {               
                //查询持卡人指定卡号的信用卡账户余额
                strResult = myXinZD.QueryUserBanlance(strRequestData);
            }

            #endregion

            #region 富友支付(退款)数据处理

            else if (strRequestID.ToUpper() == "WangQingwen20200609143601".ToUpper())
            {
                //商户向富友前置系统进行统一下单
                strResult = myFuiou.Fuiou_PreCreate(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20200609144901".ToUpper())
            {
                //商户调用此接口则用户可使用支付宝或微信进行支付
                strResult = myFuiou.Fuiou_WxPreCreate(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20200609145701".ToUpper())
            {
                //用于查询富友交易订单明细信息
                strResult = myFuiou.Fuiou_CommonQuery(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20221028151901".ToUpper())
            {
                //目前支持对90天以内的交易进行退款 ，支持全额或者是多次部分退款
                strResult = myFuiou.Fuiou_CommonRefund(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20221028151902".ToUpper())
            {
                //查询退款请求的交易状态，响应代码 result_code，000000成功
                strResult = myFuiou.Fuiou_RefundQuery(strRequestData);
            }

            #endregion

            return strResult; //得到符合条件的查询结果
        }

        //注释：王庆文 2019年12月16日=======================================================================
        /// <summary>
        /// 根据RequestID，分别执行不同的数据insert或update任务，并将处理结果反馈给客户端
        /// </summary>
        /// <param name="strRequestID">客户端请求ID</param>
        /// <param name="strRequestData">客户端请求参数集合</param>
        /// <param name="strRequestIP">发出请求的客户端IP地址</param>
        /// <returns>反馈数据insert或update处理结果</returns>
        public string WriteDataToServer(string strRequestID, string strRequestData, string strRequestIP)
        {
            string strResult = "no data"; //数据读取、分析、处理结果

            clsTest myTest = new clsTest();
            clsDBDefine myDef = new clsDBDefine();
            clsUserInfo myUser = new clsUserInfo();
            clsCrHmData myCrHm = new clsCrHmData();
            clsCrMyData myCrMy = new clsCrMyData();
            clsDllUpdate myDLL = new clsDllUpdate();
            clsMbrUpdate myMUpd = new clsMbrUpdate();
            clsHandleData myWrt = new clsHandleData();         
            clsTreeDefine myTree = new clsTreeDefine();
            clsCrCardData myCrCard = new clsCrCardData();
            clsInterfaceFF myFengF = new clsInterfaceFF();
            clsInterfaceXzd myXinZD = new clsInterfaceXzd();
            clsMacCollect myProberMac = new clsMacCollect();
            clsAccountMgr myCrPCAccMgr = new clsAccountMgr();
            //clsTradeOrder_Old myTrOr = new clsTradeOrder_Old();
            clsTradeOrder_New myTrOr = new clsTradeOrder_New();
            clsTradeOrder_Xzd myXzdOrder = new clsTradeOrder_Xzd();

            #region 第一阶段开发设计的业务处理逻辑

            if (strRequestID.ToUpper() == "WangQingwen20191219090401".ToUpper())
            {
                //批量导入数据性能测试
                strResult = myTest.Test_InsertData_TimeLength(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20200727114301".ToUpper())
            {
                //用户通过手机扫码登录二维码之后，扫码得到登录请求ID，
                //连同用户名和密码一起提交到服务器端。
                //并将信息写入到后台数据库，存在则更新之，否则直接insert
                strResult = myUser.WriteQRCcodeLoginInfo(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20191216165801".ToUpper())
            {
                strResult = myUser.ChangeUserPassword(strRequestData); //修改用户登录密码(正式)
            }
            else if (strRequestID.ToUpper() == "WangQingwen20200311181401".ToUpper())
            {
                strResult = myUser.ResetUserPassword(strRequestData); //重置用户登录密码(正式)
            }
            else if (strRequestID.ToUpper() == "WangQingwen20191221150801".ToUpper())
            {
                //解析和处理客户端发过来的要求服务器必须处理的数据，
                //先解密、再解码、再解析出一个一个的参数，最后执行写库操作。
                //根据strKeyColSet设置的内容，自动判断insert，还是update
                strResult = myWrt.InsertOrUpdate_ToDB(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20191221223601".ToUpper())
            {
                //删除指定指定数据库表中指定Sys_RecordID的记录
                strResult = myWrt.CancelDataForRecordID(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20200104230501".ToUpper())
            {
                //直接从浏览器端上传二进制文件数据，
                //然后生成或者重写指定名称的二进制文件
                strResult = myDLL.UpdateDLLFile(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20200104230701".ToUpper())
            {
                //在windows、linux、OSX三大平台上执行各自的批处理命令文件
                strResult = myDLL.RunPlatformCommand(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20200118212001".ToUpper())
            {
                //将创建物理数据库的SQL脚本提交到后台，
                //在相应的strDBGroup连接串所在服务器上创建实体数据库表
                strResult = myDef.CreateEntityDBTable(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20200120141101".ToUpper())
            {
                //数据中物理实体表创建完毕，再把库表字段结构信息保存
                //到YookingSys表空间的定义库DB_TABLEDEFINE和DB_FIELDDEFINE中
                strResult = myDef.WriteTableDefineToDB(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20200123163601".ToUpper())
            {
                //删除选中行的表定义、字段定义数据、以及实体物理库表。
                //注意是真正的物理删除，连同库表中的全部数据将被一起删除
                strResult = myDef.Delete_DBTableDefine(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20200208173901".ToUpper())
            {
                //将客户端提交过来的库表字段定义信息保存到YookingSys.DB_FIELDDEFINE定义库中
                strResult = myDef.Save_DBFieldDefine(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20200208175601".ToUpper())
            {
                //物理删除选中指定记录ID的行的字段定义信息。
                strResult = myDef.Delete_DBFieldDefine(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20200212233201".ToUpper())
            {
                //保存当前点击的TREE节点的属性信息到后台数据库Mnu_TreeDefine中
                strResult = myTree.Save_MnuTreeDefine_Html(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20210720140201".ToUpper())
            {
                //保存当前点击的TREE节点的属性信息到后台数据库Vue_TreeDefine中
                strResult = myTree.Save_MnuTreeDefine_Vue(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20200325213302".ToUpper())
            {
                //执行客户端提交过来的SQL语句，执行insert或者update操作
                strResult = myWrt.SQL_WriteData(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20200810140101".ToUpper())
            {
                //先把不是手机设备的MAC分拣处理扔掉，
                //然后再把剩下的手机MAC批量写入到数据库中，并判断insert或者update
                strResult = myProberMac.SaveProberMacDataToDB(strRequestData);
            }

            #endregion

            #region 信用卡还款系统业务处理逻辑

            else if (strRequestID.ToUpper() == "WangQingwen20200318214601".ToUpper())
            {
                //文章资讯的阅读、或者点赞次数+1
                strResult = myCrHm.UpdateArticleCount_ReadEnjoy(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20200415175101".ToUpper())
            {
                //根据计划ID，删除该金融交易计划所属的全部交易订单数据
                strResult = myCrCard.DeleteTradeOrderList(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20200417133801".ToUpper())
            {
                //会员第一次绑卡成功之后，需要给自己的上级会员进行绑卡奖励，
                //上级会员的级别不同，奖励的金额也各不相同。绑卡奖励只能一人一次。
                strResult = myCrCard.PayBindCardReward(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20200417140701".ToUpper())
            {
                //用户通过APP进行充值操作，根据相应的充值金额，将会员升级到对应的级别
                strResult = myMUpd.RechargeUpdateMemberLevel(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20200417165801".ToUpper())
            {
                //当会员的下级绑卡人数达到某个值，
                //系统会自动将该会员的级别升级成与人数相对应的等级。
                strResult = myMUpd.BindUpdateMemberLevel();
            }
            else if (strRequestID.ToUpper() == "WangQingwen20200527214801".ToUpper())
            {
                //管理员在PC端通过浏览器客户端手动操作，将会员升级到对应的级别。
                strResult = myMUpd.ManuallyUpdateMemberLevel(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20200424174701".ToUpper())
            {
                //APP用户在进行分享图片操作时，
                //将照片数据临时存储在服务器的指定磁盘目录下面
                strResult = myCrMy.SavePhotoDataToDisk(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20200429230101".ToUpper())
            {
                //还款计划保存成功之后，需要为该计划设置N条刷卡、还款交易订单记录（用于提交到银行支付接口）。
                //根据UnitCode、PersonCode、PlanID查询还款计划，然后为该还款计划生成N条用于跟银行对接的交易订单记录。
                //向库表XYK_TradeOrder中写入记录。
                strResult = myTrOr.CreateRepayTradeOrder(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20200531111901".ToUpper())
            {
                //更新表XYK_CashoutPlan、XYK_TradeOrder的交易状态、
                //更新表XYK_Income_Bill，将对应金额的佣金记录状态改为“已提现”
                strResult = myCrPCAccMgr.FinishCashoutPlan(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20200613163401".ToUpper())
            {
                //由系统管理员在后台PC端为指定用户的信用卡手工生成一条还款交易订单，以便把用户信用卡虚拟账户中的余额清零。
                //  1、先判断该用户信用卡是否有正在执行，或者待执行的订单记录；
                //  2、再生成一条还款计划；
                //  3、再创建一条还款交易订单，交易金额为虚拟账户中的全部余额；
                strResult = myTrOr.RefundCardBanlance(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20201216132601".ToUpper())
            {
                //注销交易订单表XYK_TradeOrder的记录，注销交易计划表XYK_RepayPlan的记录
                strResult = myXzdOrder.CancelPlanTradeOrder(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20201216132602".ToUpper())
            {
                //将订单表XYK_TradeOrder的交易记录设置为交易失败，
                //将计划表XYK_RepayPlan的计划状态设置为失败
                strResult = myXzdOrder.UpdatePlanTradeStatusToFail(strRequestData);
            }

            #endregion

            #region 丰付信用卡API后台处理及轮询程序

            else if (strRequestID.ToUpper() == "WangQingwen20200404122801".ToUpper())
            {
                //调用丰付的信用卡刷卡接口，批量进行刷卡消费操作
                strResult = myFengF.StartCallPOS01Interface(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20200404122802".ToUpper())
            {
                //调用丰付的信用卡还款接口，批量进行还款业务操作
                strResult = myFengF.StartCallPOS02Interface(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20200404122803".ToUpper())
            {
                //调用丰付的信用卡套现接口，批量进行套现业务操作
                strResult = myFengF.StartCallATM01Interface(strRequestData);
            }

            #endregion

            #region 信之队信用卡API后台处理程序

            else if (strRequestID.ToUpper() == "WangQingwen20201212180901".ToUpper())
            {
                //持卡人在手机APP端操作进行套现下单操作，提交接口申请同名快捷下单交易，实时交易
                strResult = myXinZD.ATMOrderCommit(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20201212180902".ToUpper())
            {
                //持卡人在手机APP端收到套现短信之后，输入短信验证码，提交给API接口确认本次交易
                strResult = myXinZD.ATMOrderConfirm(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20201212181101".ToUpper())
            {
                //查询订单交易情况登记表(XYK_TradeOrder)，将还没有交易过的符合时间条件的
                //刷卡订单全部查询出来，提交给信之队的支付接口进行信用卡刷卡的实时交易。
                strResult = myXinZD.POSOrder_ShuaKa(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20201212181102".ToUpper())
            {
                //查询订单交易情况登记表(XYK_TradeOrder)，将还没有交易过的符合时间条件的
                //还款订单全部查询出来，提交给丰付的支付接口进行信用卡还款交易操作。
                strResult = myXinZD.POSOrder_HuanKuan(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20201212232101".ToUpper())
            {
                //解决历史遗留问题，之前丰付接口没有注册过信之队会员的所有记录，批量注册一下
                strResult = myXinZD.XzdBatchRegister(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20201214220101".ToUpper())
            {
                //还款计划保存成功之后，需要为该计划设置N条刷卡、还款交易订单记录（用于提交到银行支付接口）。
                //根据UnitCode、PersonCode、PlanID查询还款计划，然后为该还款计划生成N条用于跟银行对接的交易订单记录。
                //向库表XYK_TradeOrder中写入记录。
                strResult = myXzdOrder.CreateRepayTradeOrder(strRequestData);
            }
            else if (strRequestID.ToUpper() == "WangQingwen20201218165401".ToUpper())
            {
                //由系统管理员在后台PC端为指定用户的信用卡手工生成一条还款交易订单，以便把用户信用卡虚拟账户中的余额清零。
                //  1、先判断该用户信用卡是否有正在执行，或者待执行的订单记录；
                //  2、再生成一条还款计划；
                //  3、再创建一条还款交易订单，交易金额为虚拟账户中的全部余额；
                strResult = myXzdOrder.RefundCardBanlance(strRequestData);
            }

            #endregion

            #region 将客户端提交过来的图片大数据保存到本地磁盘上面

            else if (strRequestID.ToUpper() == "WangQingwen20220228095801".ToUpper())
            {
                clsWebView myWxMini = new clsWebView(); //将图片临存到磁盘上
                strResult = myWxMini.SaveWxMiniImageToHDDir(strRequestData);
            }

            #endregion

            return strResult; //得到符合条件的查询结果
        }



    }
}
